package com.harry.hr.dao;

import java.util.List;

import org.hibernate.criterion.MatchMode;
import org.hibernate.criterion.Order;

import com.harry.hr.entity.system.User;

public interface UserDAO {
	/**
	 * 将用户信息写入数据库
	 * @param user 用户对象
	 */
	public void save(User user);
	/**
	 * 将用户信息修改入数据库
	 * @param user 用户对象
	 * @return 用户对象
	 */
	public User update(User user);
	/**
	 * 从数据库删除用户信息
	 * @param user 用户对象
	 */
	public void del(int id);
	/**
	 * 从数据库查找所有用户
	 * @param user 用户对象
	 * @return 用户对象
	 */
	public List<User> findAll();
	/**
	 * 根据条件查询用户集合
	 * @param user 用户条件
	 * @param mode 查询模式(精确查询、模糊查询、左侧模糊、右侧模糊)
	 * @param order 结果排序方式
	 * @return 用户集合
	 */
	public List<User> query(User user,MatchMode mode,Order order);
	/**
	 * 根据ID进行查询
	 * @param id
	 * @return
	 */
	public User findByid(int id);
	
	public List<User> Search(String name);
	
}
